/** 数据下载 */
/** 新消息 要有对应的座位 时间 对话内容*/
/** 学生 id 头像 用户名 座位号 对话历史内容 考勤*/
/** 老师 id 头像 用户名 */
/** 文件接收 */

/** 数据上传 */
/** 发送信息 老师id 学生id 发送时间 发送内容*/
/** 发送文件 老师id 学生id 文件*/
/** 学生 id 头像 用户名 座位号 对话历史内容 考勤*/



/** 假定数据 */
/** 新消息 */
var newsChat = {
    seat: '座位02',
    time: 1603351885000,
    chat: '你为什么这么帅啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊',
    id: 114514,
}
/** 学生 */
var student = {
    student1: {
        /** 头像 */
        headPortrait: './image/头像1.png',
        /** id号 */
        id: 114514,
        /** 用户名 */
        userName: '小帅',
        /** 座位号 */
        seat: '座位25',
        /** 对话历史信息 */
        historicalNews: {
            chat1: {
                time: 1603351865000,
                chat: '你为什么这么帅',
                whichSide: 'student',
            },
            chat2: {
                time: 1603351875000,
                chat: '那是当然',
                whichSide: 'teacher',
            }
        },
        /** check on work attendance 考勤 */
        COWA: '出勤',
    },
    student2: {
        /** 头像 */
        headPortrait: './image/头像2.png',
        /** id号 */
        id: 114515,
        /** 用户名 */
        userName: '三个字',
        /** 座位号 */
        seat: '座位20',
        /** 对话历史信息 */
        historicalNews: {
            chat1: {
                time: 1603351865000,
                chat: '你为什么这么帅1',
                whichSide: 'student',
            },
            chat2: {
                time: 1603351875000,
                chat: '那是当然2',
                whichSide: 'teacher',
            }
        },
        /** check on work attendance 考勤 */
        COWA: '迟到',
    },

}

/** 老师信息 */
var personal = {
    /** 头像 */
    headPortrait: './image/头像3.png',
    /** id号 */
    id: 2202020,
    /** 用户名 */
    userName: '小黄',
    /** 对话消息 */
    myChat: {
        time: null,
        chat: null,
        whichSide: 'teacher',
        /** 对话对象 */
        otherId: null,
    },
    /** 发送文件 */

    /** 错误 信息 */
    error: null
}
/** 对全体发送信息的历史消息 */
var platformHistoricalNews = {

}



/** 点击发送消息打开时传来对应的座位 用来绑定聊天框与座位 */
var seat;
// console.log(otherChatValue['otherChat']);
/**
 * 行列数(设定是最大10行10列)
 */
var seatArray = {
    rows: 10,
    columns: 10,
    ip: {}
}
/**
 * 行列名称键值对
 */
var seatArrayNum = {};
var seatArrayValue = {};
var seatRow = [];

/**
 * 入口函数
 */
$(function () {


    /**
     * 循环添加座位
     */
    /** 行 */
    /** 聊天框隐藏 */
    $('#dialogBox').hide();
    $('#COWA,#scoreAndEvaluate,#files').hide();
    $('#tipsUp').hide();
    $('#tipsDown').hide();
    var seatNum = 1;
    for (var i = 0; i < seatArray['rows']; i++) {
        seatRow[i] = 'row' + i;
        $('#seat').append('<div id="row' + i + '" class="row"></div>')
        /** 列 */
        for (var j = 0; j < seatArray['columns']; j++) {
            seatArrayNum['座位' + (seatNum < 10 ? '0' + seatNum : seatNum)] = 'row' + i + 'column' + j;
            seatNum++;

            seatArrayValue['row' + i + 'column' + j] = { id: null, userName: null, headPortrait: null, historicalNews: null, COWA: null, newsChat: {}, score: null, evaluate: null }

            $('#row' + i).append('<div id="row' + i + 'column' + j + '"class="column" date-select="0"><p></p></div>');
        }
    }

    /**
     * 把获取到的数据传给每个座位 及坐下,也可以作为清空座位
     */
    $.each(seatArrayValue, function (k, v) {
        $.each(student, function (k1, v1) {
            if (seatArrayNum[v1['seat']] == k) {
                /** id */
                v['id'] = v1['id'];
                /** 用户名 */
                v['userName'] = v1['userName'];
                /** 头像 */
                v['headPortrait'] = v1['headPortrait'];
                /** 历史消息 */
                v['historicalNews'] = v1['historicalNews'];
                /** 考勤 */
                v['COWA'] = v1['COWA'];
                /** 判断是否有人坐下 */
                if (v1['id'] != null) {
                    $('#' + k + ' p').html(v['userName']);
                    $('#' + k).css({
                        'backgroundColor': '#60d5ac',
                        'border-color': '#60d5ac',
                        'box-shadow': '2px 2px 5px rgb(124, 124, 124)'
                    });
                    $('#' + k).attr('date-select', '1');
                }
            }
        })

    })

    /** 座位宽高自适应 */
    /** 获取固定高度与宽度 */
    var width = parseInt($('.column').css('width'));
    var height = parseInt($('.column').css('height'));
    /** 行数减少时 当前宽度 = 固定宽度 + 固定宽度*（10-列座位数）/列座位数*/
    /** 行数减少时 当前高度 = 固定高度 + 固定高度*（10-行座位数）/行座位数*/
    $('.column').css('width', (width + (width * (10 - seatArray['columns']) / seatArray['columns']) / 2) + 'px')
    $('.column').css('height', (height + (height * (10 - seatArray['rows']) / seatArray['rows']) / 2) + 'px')
    /** （总宽度-座位宽度*列座位数）/（列座位数+1）-两边边框 */
    $('.column').css('margin-left', ((parseInt($('#seat').css('width')) - parseInt($('.column').css('width')) * seatArray['columns']) / (seatArray['columns'] + 1) - parseInt($('.column').css('borderTopWidth')) * 2) + 'px')
    $.each(seatRow, function (i, v) {
        /** 行高度 */
        $('#row' + i).css('height', parseInt($('.column').css('height')) + parseInt($('.column').css('borderTopWidth')) * 2 + 'px');
        /** （总高度-座位高度*行座位数）/（行座位数+1）-两边边框 */
        $('#row' + i).css('padding-top', ((parseInt($('#seat').css('height')) - parseInt($('.column').css('height')) * seatArray['rows']) / (seatArray['rows'] + 1) - parseInt($('.column').css('borderTopWidth')) * 2) + 'px')
    })
    /** 字体上下居中 */
    $('.column').css('line-height', parseInt($('.column').css('height')) + 'px');
    /** 字体超出盒子宽度将字体大小减少到盒子宽度大小 字体随盒子变化大小 */
    fontSize = parseInt($('.column p').css('font-size'));
    $.each(seatArrayValue, function (k, v) {
        if ($('#' + k).attr('date-select') == 1) {
            if (v['userName'].length * fontSize > (parseInt($('.column').css('width'))) - parseInt($('.column').css('borderTopWidth')) * 2) {
                $('#' + k + ' p').css('font-size', ((parseInt($('.column').css('width'))) - parseInt($('.column').css('borderTopWidth')) * 2) / v['userName'].length + 'px');
            } else {
                if (seatArray['rows'] <= 5) {
                    $('#' + k + ' p').css('font-size', ((parseInt($('.column').css('width'))) / 2) / 3 + 'px');
                }
            }
        }
    })
    $('.row').css('padding-right', parseInt($('.column').css('margin-left')) + 'px');

    /** 取消浏览器默认右键事件 */
    $('.column,.platform').on('contextmenu', function () {
        return false;
    })
    /**
     * 右键点击已坐座位，出现菜单
     */
    $('.column,.platform').contextmenu(function (e) {
        /** 
         * 判断座位是否是已坐状态 来判断是否可以出现菜单，如果是已坐状态则可以出现菜单，否则不出现菜单
         */
        if ($(this).attr('date-select') == 1 || $(this).attr('class') == 'platform') {
            // 获取窗口尺寸
            var winWidth = $(document).width();
            var winHeight = $(document).height();
            // 鼠标点击位置坐标
            var mouseX = e.pageX;
            var mouseY = e.pageY;
            // ul标签的宽高
            if ($(this).attr('class') == 'column') {
                var menuWidth = $(".contextmenu").width();
                var menuHeight = $(".contextmenu").height();
            }
            else {
                var menuWidth = $(".platform").width();
                var menuHeight = $(".platform").height();
            }
            // 最小边缘margin(具体窗口边缘最小的距离)
            var minEdgeMargin = 10;
            // 以下判断用于检测ul标签出现的地方是否超出窗口范围
            // 第一种情况：右下角超出窗口
            if (mouseX + menuWidth + minEdgeMargin >= winWidth &&
                mouseY + menuHeight + minEdgeMargin >= winHeight) {
                menuLeft = mouseX - menuWidth - minEdgeMargin + "px";
                menuTop = mouseY - menuHeight - minEdgeMargin + "px";
            }
            // 第二种情况：右边超出窗口
            else if (mouseX + menuWidth + minEdgeMargin >= winWidth) {
                menuLeft = mouseX - menuWidth - minEdgeMargin + "px";
                menuTop = mouseY + minEdgeMargin + "px";
            }
            // 第三种情况：下边超出窗口
            else if (mouseY + menuHeight + minEdgeMargin >= winHeight) {
                menuLeft = mouseX + minEdgeMargin + "px";
                menuTop = mouseY - menuHeight - minEdgeMargin + "px";
            }
            // 其他情况：未超出窗口
            else {
                menuLeft = mouseX + minEdgeMargin + "px";
                menuTop = mouseY + minEdgeMargin + "px";
            };
            // ul菜单出现
            if ($(this).attr('class') == 'column') {
                $(".contextmenu").css({
                    "left": menuLeft,
                    "top": menuTop
                }).fadeIn(100);
                $(".platformContextmenu").fadeOut(100);
            } else {
                $(".platformContextmenu").css({
                    "left": menuLeft,
                    "top": menuTop
                }).fadeIn(100);
                $(".contextmenu").fadeOut(100);
            }

        }

    })
    /** 座位菜单点击事件 */
    $('.column').mousedown(function (e) {
        var then = $(this);
        /** 座位有新消息的时候可以直接点击打开该聊天框 */
        if (Object.keys(seatArrayValue[then.attr('id')]['newsChat']).length != 0) {
            showMessageBox(then);
            /** 检测滚动条 */
            scroll();
        }
        /** 修改考勤 */
        $('.contextmenu').children('li:eq(0)').off('click').click(function () {
            $('#COWA,#cover').fadeIn();
            $('#COWA span:eq(0)').html(seatArrayValue[then.attr('id')]['userName']);
            $('#COWA span:eq(1)').html(seatArrayValue[then.attr('id')]['COWA']);
            $('#COWA button:eq(0)').click(function () {
                seatArrayValue[then.attr('id')]['COWA'] = '出勤';
                $('#COWA span:eq(1)').html(seatArrayValue[then.attr('id')]['COWA']);

            })
            $('#COWA button:eq(1)').click(function () {
                seatArrayValue[then.attr('id')]['COWA'] = '迟到';
                $('#COWA span:eq(1)').html(seatArrayValue[then.attr('id')]['COWA']);

            })
        })
        /** 评价与评分 */
        $('.contextmenu').children('li:eq(1)').off('click').click(function () {
            $('#scoreAndEvaluate span:eq(0)').html(seatArrayValue[then.attr('id')]['userName']);
            $('#scoreAndEvaluate,#cover').fadeIn();
            $.fn.raty.defaults.width = '150px';
            $('#star').raty({
                targetType: 'number',
                half: true,
                starHalf: 'image/star-half-big.png',
                starOff: 'image/star-off-big.png',
                starOn: 'image/star-on-big.png',
                target: '#hint',
                targetKeep: true
            })
            /** 获取当前分数 */
            $('#scoreAndEvaluate button').off('click').click(function () {
                if ($('#evaluate').val() != '' || $('#star').raty('score') >= 0) {
                    if ($('#evaluate').val() != '') {
                        if ($('#star').raty('score') >= 0) {
                            /** 评分获取 */
                            seatArrayValue[then.attr('id')]['score'] = $('#star').raty('score');
                            /** 评价获取 */
                            seatArrayValue[then.attr('id')]['evaluate'] = $('#evaluate').val();
                            console.log(seatArrayValue[then.attr('id')]['score']);
                            console.log(seatArrayValue[then.attr('id')]['evaluate']);

                        } else {
                            alert('还没有评分');
                        }
                    } else {
                        alert('还没有评价');
                    }
                } else {
                    alert('还没有评分和评价');
                }

            })

        })
        /** 发送文件 */
        $('.contextmenu').children('li:eq(2)').off('click').click(function () {
            $('#files span:eq(0)').html(seatArrayValue[then.attr('id')]['userName']);
            $('#files,#cover').fadeIn();
        })
        /** 发送信息 */
        $('.contextmenu').children('li:eq(3)').off('click').click(function () {
            news = 0;
            // console.log(then);
            showMessageBox(then);
            /** 检测滚动条 */
            scroll();

        })
    })
    /** 点击隐藏'修改考勤' '评价与评分''发送文件'*/
    $('#cover').click(function () {
        $('#COWA,#cover,#scoreAndEvaluate,#files').fadeOut(200)
        $('#evaluate').val('');
        $('#files h6').html('');
        $('#files input').val(null);
        $('#files ul').html('');
    })
    /** 讲台菜单点击事件 */
    $('.platform').mousedown(function () {
        then = $(this);
        /** 对全体发送信息 */
        $('.platformContextmenu').children('li:eq(0)').off('click').click(function () {
            news = 0;
            /** 检测滚动条 */
            scroll();
            if (seat != then.attr('class') || $('#dialogBox').css('display') == 'none') {
                /** 聊天窗口显示 */
                if ($('#dialogBox').css('display') == 'none') {
                    chatAnimateShow();
                } else {
                    chatAnimateChange();
                }
                /** 切换延迟 */
                setTimeout(function () {
                    seat = then.attr('class');
                    /** 清空聊天框 */
                    $('#chatValue').html('');
                    $('#userName').html('在座各位');
                    if (Object.keys(platformHistoricalNews).length != 0) {
                        $.each(platformHistoricalNews, function (k, v) {
                            $('#chatValue').append('<li class="chatRight"><h5>' + v['time'] + '</h5><div><img src="' + personal['headPortrait'] + '"></div><p><span>' + v['chat'] + '</span></p></li>');
                        })
                    }
                    // 跳转到最底部
                    $('#chatValue')[0].scrollTop = $('#chatValue')[0].scrollHeight;
                    $('#SendMessageBox').val('');
                }, 300)
            } else {
                alert('你已经打开了讲台的聊天窗口了');
            }
        })
        /** 对全体发送文件 */
        $('.platformContextmenu').children('li:eq(1)').off('click').click(function () {
            $('#files span:eq(0)').html('全班同学');
            $('#files,#cover').fadeIn();
        })
    })
    /** 点击页面隐藏菜单 */
    $(document).click(function () {
        $(".contextmenu ,.platformContextmenu").fadeOut(100);
    });
    /** 菜单栏移入移出 */
    $('.contextmenu li,.platformContextmenu li').mouseover(function () {
        $(this).css('background-color', '#ffb140');
        $(this).css('box-shadow', ' 2px 2px 5px #000')
    })
    $('.contextmenu li,.platformContextmenu li').mouseout(function () {
        $(this).css('background-color', '#ffc673');
    })
    /**
    * 聊天
    */
    /**
     * 己方消息送出
     */
    $('#SendMessageBtn').off('click').on('click', function () {
        if (seat == 'platform') {
            platformSendOut()
        } else {
            sendOut();
            /** 检测滚动条 */
            scroll();
        }

    })
    // 按回车键发送消息
    var keyCombination = 0;
    $(document).keydown(function (event) {
        if (event.keyCode == 16) {
            keyCombination = event.keyCode;
        }
    })
    $(document).keypress(function (event) {
        /** 防止聊天框还没出来的时候就可以发送信息 */
        if ($('#dialogBox').css('display') != 'none' && $('#cover').css('display') == 'none') {
            if (event.keyCode === 13 && keyCombination != 16) {
                if (seat == 'platform') {
                    platformSendOut();
                } else {
                    sendOut();
                    /** 检测滚动条 */
                    scroll();
                }
                // 避免回车键换行
                event.preventDefault();
            }
            // if (event.shiftKey && event.which == 13 || event.which == 10) {
            // }
        }

    });
    $(document).keyup(function (event) {
        if (event.keyCode == 16) {
            keyCombination = 0;
        }
    });
    /**  历史消息 */

    /**
     * 点击消息送出（测试用）（之后改为数据传输过来的时候自动触发）
     */
    var news = 0;
    $('#otherChat').on('click', function () {
        $.each(seatArrayValue, function (k, v) {
            /** 对应信息到对应座位到对应消息框 */
            if (seatArrayValue[k]['id'] == newsChat['id']) {
                /** 判断是否为对应座位和聊天框是否出现了 */
                if ($('#dialogBox').css('display') == 'none' || seat != k) {
                    /** 如果对应的消息框没有显示 则变色提醒 */
                    $('#' + k).css({
                        'backgroundColor': 'pink',
                        'borderColor': 'pink',
                    });
                    /** 新消息数量 */

                    // v['newsChat'] = {};
                    /** 将新消息添加到一个对象中，'chat' + (Object.keys(v['newsChat']).length + 1)为连续添加时为了不冲突命名导致的覆盖 */
                    v['newsChat']['chat' + (Object.keys(v['newsChat']).length + 1)] = newsChat;


                } else {
                    /** 添加对话到聊天框中 */
                    var flag = 0;
                    $('#chatValue').append('<li class="chatLeft"><h5>' + newsChat['time'] + '</h5><div><img src="' + v['headPortrait'] + '"></div><p><span>' + newsChat['chat'] + '</span></p></li>');
                    /** 把对话也添加到历史消息中 */
                    $.each(v['historicalNews'], function (k1, v1) {
                        flag++;
                    })
                    v['historicalNews']['chat' + (flag + 1)] = { time: newsChat['time'], chat: newsChat['chat'], whichSide: 'student' }
                    // console.log($('#chatValue')[0].scrollTop);
                    // console.log($('#chatValue').height());
                    // console.log($('#chatValue')[0].scrollHeight);
                    // console.log($('#chatValue')[0].scrollTop + $('#chatValue').height() >= $('#chatValue')[0].scrollHeight);

                    // 判断滚动条是否在底部（有新消息时） 如果是，有新消息就自动跳转到底部，如果不是则提示有新的消息
                    if ($('#chatValue')[0].scrollHeight - $('#chatValue')[0].scrollTop <= $('#chatValue').height() * 2 + $('#chatValue li:last').height()) {
                        news = 0;
                        $('#chatValue')[0].scrollTop = $('#chatValue')[0].scrollHeight;
                        $('#tipsDown').hide();
                    } else {
                        news++;
                        if (news < 99) {
                            $('#newNews span:eq(0)').html(news);
                            $('#tipsDown').show();
                            $('#tipsDown').css('margin-left', tipsDownMarginLeft + 'px');
                        } else {
                            $('#newNews span:eq(0)').html('99+');
                            $('#tipsDown').show();
                            $('#tipsDown').css('margin-left', tipsDownMarginLeft - 8.63 + 'px');
                        }
                    }
                }
            }
        })
        /** 检测滚动条 */
        scroll();


    })
    // 判断滚动条是否在底部（手动滚动）以及判断滚轮是否滚到新消息前
    $('#chatValue').scroll(function () {
        if ($('#chatValue')[0].scrollTop + $('#chatValue').height() >= $('#chatValue')[0].scrollHeight) {
            // console.log('到底了');
            $('#tipsDown').hide();
            news = 0;
        }
        if ($('#chatValue').scrollTop() <= oldlisHeight) {
            $('#tipsUp').hide();
        }
    })
    /** 点击关闭聊天窗口按钮 */
    $('#closeChatWindow').on('click', function () {
        chatAnimateHide();
    })
    /** 鼠标经过显示聊天框滚轮条 */
    $('#chatValue').stop().mouseover(function () {
        $(this).addClass('scrollShow');
    })
    /** 鼠标离开显示聊天框滚轮条 */
    $('#chatValue').stop().mouseout(function () {
        $(this).removeClass('scrollShow')
    })
    /** 鼠标经过显示输入框滚轮条 */
    $('#SendMessageBox').stop().mouseover(function () {
        $(this).addClass('SMBscrollShow');
    })
    /** 鼠标离开显示输入框滚轮条 */
    $('#SendMessageBox').stop().mouseout(function () {
        $(this).removeClass('SMBscrollShow')
    })

    /** 向上的新消息提示关闭 */
    $('.closeTipsUp').off('click').click(function () {
        $('#tipsUp').hide();
    })
    /** 向上的新消息提示跳转 */
    $('#tipsUp p:eq(0)').off('click').click(function () {
        $('#chatValue').scrollTop(oldlisHeight);
        $('#tipsUp').hide();
    })
    /** 向下的新消息提示关闭 */
    $('.closeTipsDown').off('click').click(function () {
        $('#tipsDown').hide();
        news = 0;
    })
    /** 向下的新消息提示跳转 */
    $('#tipsDown p:eq(0)').off('click').click(function () {
        $('#chatValue')[0].scrollTop = $('#chatValue')[0].scrollHeight;
        $('#tipsDown').hide();
    })
    /** 内容垂直居中自适应高度 */
    $('.content').css('padding-top', (document.documentElement.clientHeight) / 8 + 'px')
    /** 文件 */
    var fileSize;//文件大小
    $('#files input').change(function (e) {
        if (e.currentTarget.files.length != 0) {
            $('#files ul').html('');
            // console.log($(this).val());//val()获取到的是完整的文件路径值；C:\fakepath\js-dom.png
            console.log(e)
            /*
            简单的获取选择文件的名字
            currentTarget:获取到的是绑定事件的对象
            e.currentTarget.files 是一个数组，如果支持多个文件，则需要遍历
            */
            console.log(e.currentTarget.files);
            var fileMsg = e.currentTarget.files;
            for (var i = 0; i < fileMsg.length; i++) {
                var fileName = fileMsg[i].name;
                console.log(fileName);//js-dom.png
                //大小 字节  
                fileSize = fileMsg[i].size;
                if (fileMsg[i].size < 1000000000) {
                    if (fileMsg[i].size < 1000000) {
                        if (fileMsg[i].size < 1000) {
                            fileSize = fileSize + 'b';
                        } else {
                            fileSize = (fileSize / 1000).toFixed(2) + 'KB';
                        }
                    } else {
                        fileSize = (fileSize / 1000000).toFixed(2) + 'MB';
                    }
                } else {
                    fileSize = (fileSize / 1000000000).toFixed(2) + 'GB';
                }
                $('#files h6').html('选中了' + e.currentTarget.files.length + '个文件')
                //类型  
                var fileType = fileMsg[i].type;
                console.log(fileType);//image/png
                $('#files ul').append('<li><p style="float:left;overflow: hidden;width:200px ;text-overflow: ellipsis;">' + fileName + '</p><p style="float:right">' + fileSize + '</p></li>')
                // 判断文件类型
                // var type = (fileType.substr(fileType.lastIndexOf("."))).toLowerCase();
                // if (type != ".jpg" && type != ".gif" && type != ".jpeg" && type != ".png") {
                //     alert("您上传图片的类型不符合(.jpg|.jpeg|.gif|.png)！");
                //     return false;
                // }
            }
        } else {
            $('#files h6').html('');
            $(this).val(null);
            $('#files ul').html('');
        }

    })
    $('.fileClose').click(function () {
        $('#files h6').html('');
        $('#files input').val(null);
        $('#files ul').html('');
    })
    /** 返回 */
    $('.return').mouseover(function () {
        $(this).children('a').children('div').children('p').css('color', 'rgb(53, 53, 53)');
    })
    $('.return').mouseout(function () {
        $(this).children('a').children('div').children('p').css('color', 'rgb(131, 131, 131)');
    })
    $('.return').click(function () {
        $(location).attr('href', 'teacherIndex.html');
    })
})
var tipsDownMarginLeft = parseInt($('#tipsDown').css('margin-left'));
var tipsUpMarginLeft = parseInt($('#tipsUp').css('margin-left'));
/** 旧消息长度  */
var oldlisHeight = 0;
/** 总消息长度 */
var newlisHeight = 0;
/** 座位‘发送消息’按钮的函数 */
function showMessageBox(then) {
    if (seat != then.attr('id') || $('#dialogBox').css('display') == 'none') {

        // $('#dialogBox').animate({
        //     left: '250px',
        //     opacity: '0',
        // }).show();
        /** 聊天窗口显示 */
        if ($('#dialogBox').css('display') == 'none') {
            chatAnimateShow();
        } else {
            chatAnimateChange();
        }
        /** 切换延迟 */
        setTimeout(function () {

            oldlisHeight = 0;
            newlisHeight = 0;
            seat = then.attr('id');
            /** 清空聊天框 */
            $('#chatValue').html('');
            /** 对方用户名 */
            $('#userName').html(seatArrayValue[then.attr('id')]['userName']);
            /** 历史聊天记录 */
            if (Object.keys(seatArrayValue[then.attr('id')]['historicalNews']).length != 0) {
                $.each(seatArrayValue[then.attr('id')]['historicalNews'], function (k, v) {
                    if (v['whichSide'] == 'student') {
                        $('#chatValue').append('<li class="chatLeft"><h5>' + v['time'] + '</h5><div><img src="' + seatArrayValue[then.attr('id')]['headPortrait'] + '"></div><p><span>' + v['chat'] + '</span></p></li>');
                    } else {
                        $('#chatValue').append('<li class="chatRight"><h5>' + v['time'] + '</h5><div><img src="' + personal['headPortrait'] + '"></div><p><span>' + v['chat'] + '</span></p></li>');
                    }
                    oldlisHeight += $('#chatValue li:last').height();
                })
            }
            if (Object.keys(seatArrayValue[then.attr('id')]['newsChat']).length != 0) {
                $('#chatValue').append('<li class="chatCenter"><p>---以下是新消息---</p></li>');
            }
            /** 新消息 */
            if (Object.keys(seatArrayValue[then.attr('id')]['newsChat']).length != 0) {

                /** 添加 */
                $.each(seatArrayValue[then.attr('id')]['newsChat'], function (k, v) {
                    $('#chatValue').append('<li class="chatLeft"><h5>' + v['time'] + '</h5><div><img src="' + seatArrayValue[then.attr('id')]['headPortrait'] + '"></div><p><span>' + v['chat'] + '</span></p></li>');
                    newlisHeight += $('#chatValue li:last').height();
                })

                /** 新消息变旧消息 */
                var flag;
                $.each(seatArrayValue[then.attr('id')]['newsChat'], function (k, v) {
                    flag = Object.keys(seatArrayValue[then.attr('id')]['historicalNews']).length;
                    // $.each(seatArrayValue[then.attr('id')]['historicalNews'], function (k1, v1) {
                    //     flag++;
                    // })
                    seatArrayValue[then.attr('id')]['historicalNews']['chat' + (flag + 1)] = { time: v['time'], chat: v['chat'], whichSide: 'student' };
                })
                /** 判断新消息的长度 */
                if (newlisHeight + 63 > $('#chatValue').height()) {
                    $('#tipsUp').show();
                    if (Object.keys(seatArrayValue[then.attr('id')]['newsChat']).length < 99) {
                        $('#tipsUp p span:eq(0)').html(Object.keys(seatArrayValue[then.attr('id')]['newsChat']).length);
                        $('#tipsUp').css('margin-left', tipsUpMarginLeft + 'px');
                    } else {
                        $('#tipsUp p span:eq(0)').html('99+');
                        $('#tipsUp').css('margin-left', tipsUpMarginLeft - 8.63 + 'px');
                    }
                }
                /** 新消息清空 */
                seatArrayValue[then.attr('id')]['newsChat'] = {};
                /** 清除提醒颜色，变回原来的颜色 */
                $('#' + then.attr('id')).css({ 'backgroundColor': '#60d5ac', 'borderColor': '#60d5ac' });
            }
            // 跳转到最底部
            $('#chatValue')[0].scrollTop = $('#chatValue')[0].scrollHeight;
            $('#SendMessageBox').val('');

        }, 300)
    } else {
        alert('你已经打开了该学生的聊天框');
    }
}

/** 群发聊天框发送消息的函数 */
function platformSendOut() {
    // 判断发送消息框是否为空
    if ($('#SendMessageBox').val() != '') {
        /** 上传发送的信息，返回是否可以发送，如果可以则发送，否则弹出不可发送的信息 */
        //时间
        personal['myChat']['time'] = time;
        //内容
        personal['myChat']['chat'] = $('#SendMessageBox').val().replace(/[\r\n]/g, '<br>').replace(/[ ]/g, '&nbsp');

        if (true) {
            /** 添加消息到页面 */
            $('#chatValue').append('<li class="chatRight"><h5>' + personal['myChat']['time'] + '</h5><div><img src="' + personal['headPortrait'] + '"></div><p><span>' + personal['myChat']['chat'] + '</span></p></li>');

            $.each(seatArrayValue, function (k, v) {
                if ($('#' + k).attr('date-select') == 1) {
                    seat = k;
                    //对方id
                    personal['myChat']['otherId'] = seatArrayValue[seat]['id'];
                    // 跳转到最底部
                    $('#chatValue')[0].scrollTop = $('#chatValue')[0].scrollHeight;
                    /** 添加消息到每个人的历史消息当中 */
                    flag = Object.keys(seatArrayValue[seat]['historicalNews']).length;
                    seatArrayValue[seat]['historicalNews']['chat' + (flag + 1)] = { time: personal['myChat']['time'], chat: personal['myChat']['chat'], whichSide: 'teacher' };
                }
            });
            // 发送后清空发送消息框
            $('#SendMessageBox').val('');
            //添加到讲台历史消息platformHistoricalNews
            var flag = Object.keys(platformHistoricalNews).length;
            platformHistoricalNews['chat' + (flag + 1)] = {
                time: personal['myChat']['time'], chat: personal['myChat']['chat']
            }
            /** 检测滚动条 */
            scroll();
        }
        //错误信息传到这
        else {
            $('#error').html(personal[error]);
        }
    } else {
        alert('发送消息不能为空')
    }
    seat = 'platform';
}
/** 聊天框己方发送消息的函数 */
function sendOut() {
    // 判断发送消息框是否为空
    if ($('#SendMessageBox').val() != '') {

        /** 上传发送的信息，返回是否可以发送，如果可以则发送，否则弹出不可发送的信息 */
        //时间
        personal['myChat']['time'] = time;
        //内容
        personal['myChat']['chat'] = $('#SendMessageBox').val().replace(/[\r\n]/g, '<br>').replace(/[ ]/g, '&nbsp');
        //对方id
        personal['myChat']['otherId'] = seatArrayValue[seat]['id'];
        if (true) {

            /** 添加消息到页面 */
            $('#chatValue').append('<li class="chatRight"><h5>' + personal['myChat']['time'] + '</h5><div><img src="' + personal['headPortrait'] + '"></div><p><span>' + personal['myChat']['chat'] + '</span></p></li>');
            // 发送后清空发送消息框
            $('#SendMessageBox').val('');
            // 跳转到最底部
            $('#chatValue')[0].scrollTop = $('#chatValue')[0].scrollHeight;
            /** 添加消息到历史消息 */
            var flag = Object.keys(seatArrayValue[seat]['historicalNews']).length;
            seatArrayValue[seat]['historicalNews']['chat' + (flag + 1)] = { time: personal['myChat']['time'], chat: personal['myChat']['chat'], whichSide: 'teacher' };

        }
        //错误信息传到这
        else {
            $('#error').html(personal[error]);
        }

    } else {
        alert('发送消息不能为空')
    }
}
/** 检查聊天框有没有滚动条 */
var paddingRight = parseInt($('#chatValue').css('padding-right'));
function scroll() {
    var scrollTop = $('#chatValue').scrollTop();
    $('#chatValue').scrollTop(scrollTop);
    if ($('#chatValue').scrollTop() == 0) {
        $('#chatValue').scrollTop(10);
        if ($('#chatValue').scrollTop() > 0) {
            $('#chatValue').css('padding-right', paddingRight + 'px');
            $('#chatValue').scrollTop(0)
        }
        else {
            $('#chatValue').css('padding-right', paddingRight + 8 + 'px');
        }
    } else {
        $('#chatValue').css('padding-right', paddingRight + 'px');
    }
}
var time;
window.onload = function () {
    setInterval(function () {
        var dateTime = new Date();
        var h = dateTime.getHours();
        var m = dateTime.getMinutes();
        var s = dateTime.getSeconds();
        var showh = h > 9 ? h : '0' + h;
        var showm = m > 9 ? m : '0' + m;
        var shows = s > 9 ? s : '0' + s;
        time = showh + ':' + showm + ':' + shows;
        $("#dateTime").html(showh + ' : ' + showm + ' : ' + shows);
    }, 1000)
}

function chatAnimateShow() {
    /** 检测滚动条 */
    scroll();
    $('.seatDiv').animate({
        width: '800px',
        marginRight: '400px',
    }, 750, function () {
        $('.seatDiv').addClass('seatDivFloat');
    });
    $('#dialogBox').show();
    $('.seatDiv').css('margin-right', 0 + 'px');
    $('#dialogBox').css('margin-left', 100 + 'px');
    $('#dialogBox').animate({
        marginLeft: '825px',
        opacity: 1,
    }, 750, function () {
        /** 检测滚动条 */
        scroll();
        $('#dialogBox').css('z-index', 50);
    })
}
function chatAnimateHide() {
    $('.seatDiv').removeClass('seatDivFloat');
    $('.seatDiv').css('margin-right', 400 + 'px');
    $('#dialogBox').css('z-index', -1);
    $('.seatDiv').animate({
        width: '1000px',
        marginRight: '0px',
    }, 750, function () {
    });
    $('#dialogBox').animate({
        marginLeft: '100px',
        opacity: 0,
    }, 750, function () {
        $('#dialogBox').hide();
    })
}
function chatAnimateChange() {
    /** 检测滚动条 */
    scroll();
    $('#dialogBox').css('z-index', -1);
    $('#dialogBox').animate({
        marginLeft: '1025px',
        opacity: 0,
    }, 300, function () {
        $('#dialogBox').css('margin-left', 100 + 'px');
        $('#dialogBox').animate({
            marginLeft: '825px',
            opacity: 1,
        }, 300, function () {
            /** 检测滚动条 */
            scroll();
            $('#dialogBox').css('z-index', 50);
        })
    })
}

var ws = new WebSocket("ws://192.168.0.135:8080/classLT/" + "老师");
ws.onopen = function () {
    alert("aaaaa");
}
ws.onmessage = function (evt) {
    console.log(evt);
}
